<button>按钮</button>
<button>按钮</button>
<button>按钮</button>
<button>按钮</button>
<button>按钮</button>
<script>
    // ...展开运算符 
    // 使用：数组、对象合并，拷贝数据，伪数组转数组
    // 相当于把数组的括号去掉
    // 1.数组的组合：concat()
    let arr1 = [10, 20, 30];
    let arr2 = ['ab', 'xy'];
    // let arr3 = arr1.concat(arr2);
    let arr3 = [ ...arr1, ...arr2 ];
    console.log(arr3); // [10, 20, 30, 'ab', 'xy']

    // 2.对象的合并
    let p1 = {
        name: 'tom'
    }
    let p2 = {
        age: 10
    }
    let p3 = {
        ...p1,
        ...p2
    };
    console.log(p3); // {name: 'tom', age: 10}

    // 3.拷贝数据
    let a1 = [10, 20, 30, {name: '小明'}];
    let a2 = [...a1];
    console.log(a2); //  [10, 20, 30, {name: '小明'}]

    // 如果数组/对象其数据内容是简单类型，可以实现深拷贝。嵌套的有引用数据，会一改全改
    a2[3].name = '修改';
    console.log(a1);

    // 4.伪数组转数组
    let oBtn = document.querySelectorAll('button');
    oBtn = [...oBtn];
    console.log(oBtn); // [btn, btn, btn, btn...]
    oBtn.forEach(function(item){
        console.log(item, 'item');
        item.onclick = function(){
            console.log('点击');
        }
    })
</script>